package com.example.mybatis.mapper;

import com.example.mybatis.model.User;
import org.apache.ibatis.annotations.*;

import java.util.List;

/**
 * Copyright(C), 2020-2021, AmbroseCdMeng
 * FileName:    UserMapper
 * Author:      AmbroseCdMeng
 * Date:        2021/1/2914:46
 * Description: 实现 User 实体和 数据表的映射关系
 * History:
 * <author>     <time>      <version>       <desc>
 * 作者姓名     修改时间        版本号           描述
 */
@Mapper     // 可以在入口类中直接加 @MapperScan("com.example.mybatis.mapper") 。这样就不必在每个 mapper 中添加 @Mapper 注解了
public interface UserMapper {

    @Select("SELECT * FROM USER WHERE id = #{id}")
    User queryById(@Param("id") int id);

    @Select("SELECT * FROM USER")
    List<User> queryAll();

    @Insert({"INSERT INTO USER(name, age) VALUES(#{name}, #{age})"})
    int add(User user);

    @Delete("DELETE FROM USER WHERE id = #{id}")
    int delById(int id);

    @Update("UPDATE USER SET name = #{name}, age = #{age} WHERE id = #{id}")
    int updateById(User user);

}
